package cn.itcast.option;

import com.sun.org.apache.xpath.internal.operations.Bool;

import java.util.Optional;
import java.util.OptionalLong;
import java.util.function.Predicate;

public class Test01 {
    public static void main(String[] args) {
//        String name ="hahha";
//        /*
//        ofNullable 可以允许传递一个空值对象
//        of 不允许传递一个空值对象
//         */
//        Optional<String> optional = Optional.ofNullable(name);
//        Optional<String> optional1 = Optional.of(name);
//        Boolean present = optional.isPresent();
//        //返回true 不为空  false 是为空
//        System.out.println(present);
//        System.out.println(optional.get());
//

//        //为空设置默认值
//        String ceName =null;
//        String  uName = Optional.ofNullable(ceName).orElse("为空则值为我");
//        System.out.println(uName);

        //过滤
        String cName ="张三";
        Boolean b = Optional.ofNullable(cName).filter(new Predicate<String>() {
            @Override
            public boolean test(String s) {
                return "张三".equals(s);
            }
        }).isPresent();
        System.out.println(b);

    }
}
